using ClownFish;
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Threading;

internal sealed class Class6
{
	private int int_0;

	private Dictionary<string, Class34> dictionary_0;

	private Type type_0;

	private int int_1;

	[CompilerGenerated]
	private Delegate0 delegate0_0;

	[CompilerGenerated]
	private Delegate1 delegate1_0;

	[CompilerGenerated]
	private Delegate2 delegate2_0;

	[CompilerGenerated]
	internal Delegate0 method_0()
	{
		return this.delegate0_0;
	}

	[CompilerGenerated]
	private void method_1(Delegate0 delegate0_1)
	{
		this.delegate0_0 = delegate0_1;
	}

	[CompilerGenerated]
	internal Delegate1 method_2()
	{
		return this.delegate1_0;
	}

	[CompilerGenerated]
	private void method_3(Delegate1 delegate1_1)
	{
		this.delegate1_0 = delegate1_1;
	}

	[CompilerGenerated]
	internal Delegate2 method_4()
	{
		return this.delegate2_0;
	}

	[CompilerGenerated]
	private void method_5(Delegate2 delegate2_1)
	{
		this.delegate2_0 = delegate2_1;
	}

	public void method_6()
	{
		int num = Interlocked.CompareExchange(ref this.int_0, 1, 0);
		if (num == 1)
		{
			return;
		}
		foreach (KeyValuePair<string, Class34> current in this.dictionary_0)
		{
			current.Value.method_0();
		}
	}

	public void method_7(Delegate0 delegate0_1, Delegate1 delegate1_1, Delegate2 delegate2_1)
	{
		try
		{
		}
		finally
		{
			this.method_1(delegate0_1);
			this.method_3(delegate1_1);
			this.method_5(delegate2_1);
			this.method_13(Enum0.const_1, Enum0.const_2);
		}
	}

	public Dictionary<string, Class34> method_8()
	{
		return this.dictionary_0;
	}

	public void method_9(DbColumnAttribute dbColumnAttribute_0, Class12 class12_0)
	{
		Class34 @class = new Class34(dbColumnAttribute_0, class12_0);
		@class.class6_0 = this;
		this.method_8()[class12_0.vmethod_3()] = @class;
	}

	public Type method_10()
	{
		return this.type_0;
	}

	public Class6(Type type_1, int int_2)
	{
		this.type_0 = type_1;
		this.dictionary_0 = new Dictionary<string, Class34>(int_2, StringComparer.OrdinalIgnoreCase);
	}

	public bool method_11(string string_0, out Class34 class34_0)
	{
		if (this.dictionary_0.TryGetValue(string_0, out class34_0))
		{
			return true;
		}
		foreach (KeyValuePair<string, Class34> current in this.dictionary_0)
		{
			if (string.Compare(current.Value.method_1().Alias, string_0, StringComparison.OrdinalIgnoreCase) == 0)
			{
				class34_0 = current.Value;
				return true;
			}
		}
		return false;
	}

	public Enum0 method_12()
	{
		return (Enum0)this.int_1;
	}

	public bool method_13(Enum0 enum0_0, Enum0 enum0_1)
	{
		return Interlocked.CompareExchange(ref this.int_1, (int)enum0_1, (int)enum0_0) == (int)enum0_0;
	}
}
